Due to continuous increases in memory and processing power, code generation has become popular method of increasing programmer productivity. In recent years, the popularity of code generators has increased. Code generators automatically generate source-level language code (e.g., C, C#, Visual Basic, Java . . . ). Use of automatically generated code may reduce development time and increase stability of code.
In particular, code generation has become popular in the context of object-relational mapping (ORM). Relational data storage systems (e.g., DB2, SQL Server, MySQL, . . . ) are utilized to store relational data and manage these of relationships. It is useful for software developed in source-level languages to access and manipulate the relational data stored in the relational data storage system. When the application software is managing the relational data, it should maintain the relationships inherent in the data. In addition, any changes or modifications to the relational data should be persisted back to the relational data storage system.